拜託,請你愛用 console.log


Posted by saffran on 2021-02-05

console.log() 來 debug 是一個快速又有效的方法

作法:
如果不確定 bug 發生在哪邊,
就在「每一行」或是「有疑惑的地方」,都加上 console.log(),印出自己覺得有意義的資訊
然後,就可以看看 log 出來的結果,是不是跟自己預期的一樣

示範:要怎麼用 console.log() 來 debug

console.log() 要加在哪些地方呢?

  1. 先看一開始的 num 是多少,比較方便 debug
  2. 在 for loop 裡面,看 i 跑到多少
  3. 在 if 判斷式裡面:console.log() 要加在 return 的前面,如果加在 return 後面是沒有用的,因為只要一執行到 return 就會跳出 function
function isPrime(num){
  console.log('num: ', num)
  if(num === 1) return false
  if(num === 2) return true
  for(let i=2; i<num; i++){
    console.log('i: ', i)
    if(num % i === 0){
      console.log('num % i === 0', num, i) // 記得要把 console.log 加在 return 的前面
      return false
    } else{
      console.log('else', num, i) // 記得要把 console.log 加在 return 的前面
      return true
    }
  }
}

console.log(isPrime(15))

output:

num:  15
i:  2
else 15 2
true

看看 output,就會發現上方程式碼的問題出在哪裡了

改正後的程式碼:

function isPrime(num){
  if(num === 1) return false
  if(num === 2) return true
  for(let i=2; i<num; i++){
    if(num % i === 0) return false
  }
  return true
}

console.log(isPrime(15))
// output: false

#javascript







Related Posts

Visual Studio Code (VS Code) 設置全域ESLint

Visual Studio Code (VS Code) 設置全域ESLint

JavaScript 五四三 Ep.03 Array.prototype.filter()

JavaScript 五四三 Ep.03 Array.prototype.filter()

NLP Data Augmentation 常見方法

NLP Data Augmentation 常見方法


Comments